/* Essas funcoes envelopadas tem o objetivo de verificar a possivel ocorrencia
   de erros durante a chamada das funcoes originais. Caso haja erro, é retornada
   uma mensagem de erro padrao do sistema operacional utilizado pelo usuario,
   precedido por uma tag que contem o nome da funcao onde o erro ocorreu.
   Formato da tag: ! nome_da_funcao ! */

/* --- stdio.h - File access: --- */

FILE * Fopen(const char * filename, const char * mode);

int Fclose(FILE * stream);

/* --- stdio.h - Character input/output: --- */

int Fgetc(FILE * stream);

char * Fgets(char * str, int num, FILE * stream);

/* --- stdio.h - Direct input/output: --- */

size_t Fread(void * ptr, size_t size, size_t count, FILE * stream);

size_t Fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

/* --- stdio.h - File positioning: --- */

int Fgetpos(FILE * stream, fpos_t * position);

int Fseek(FILE * stream, long int offset, int origin);

int Fsetpos(FILE * stream, const fpos_t * pos);

long int Ftell(FILE * stream);

/* --- stdlib.h - Dynamic memory management: --- */

void Free(void * ptr); //Atribui valor NULL ao apontador apos desalocar

void * Malloc(size_t size);

void * Realloc(void * ptr, size_t size);
